package com.mingqi.hw.test5160;

import java.util.Scanner;

/**【停车场车辆统计】
 * 特定大小的停车场，数组cars[]表示，其中1表示有车，0表示没车。车辆大小不一，小车占一个车位（长度1），货车占两个车位（长度2），卡车占三个车位（长度3），统计停车场最少可以停多少辆车，返回具体的数目。
 * 输入描述:
 * 整型字符串数组cars[]，其中1表示有车，0表示没车，数组长度小于1000。
 * 输出描述:
 * 整型数字字符串，表示最少停车数目。
 * 示例1
 * 输入
 * 1,0,1
 * 输出
 * 2
 * 说明
 * 1个小车占第1个车位
 * 第二个车位空
 * 1个小车占第3个车位
 * 最少有两辆车
 * 示例2
 * 输入
 * 1,1,0,0,1,1,1,0,1
 * 输出
 * 3
 * 说明
 * 1个货车占第1、2个车位
 * 第3、4个车位空
 * 1个卡车占第5、6、7个车位
 * 第8个车位空
 * 1个小车占第9个车位
 * 最少3辆车
 */
public class ZT55 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] split = sc.nextLine().split(",");
        //连续的2个1可以是1个 连续三个1可以是1个
        int total = 0;
        int tem = 0;
        for (int i = 0; i < split.length; i++) {
            if (Integer.parseInt(split[i]) == 1){
                tem++;
            }else {
                if (tem != 0){
                    total += calcMin(tem);
                }
                tem = 0;
            }
        }
        total += calcMin(tem);
        System.out.println(total);
    }

    private static int calcMin(int num){
        //6 -> 2
        int total = 0;
        while (num >= 3){//有多少3 除掉多少3
            num -= 3;
            total++;
        }
        while (num >= 2){//有多少3 除掉多少3
            num -= 2;
            total++;
        }
        total += num;
        return total;
    }
}

